This invention relates to facilitating interactions among distributed users of an online system, such as an online learning platform accessible over the Internet over the internet, or on a system on a laptop or server, or over a network.
In online environments, for example, online education and learning, content is made available to users using a browser over the internet. In environments such as this it is useful to have a discussion forum where users can ask questions or discuss various pieces of material in the course (or material outside the course). The questions may be answered by other users, by teaching assistants or by the teachers of the course. Similarly others may join in the discussion.
In online education, for example, a course may have many weeks of material covering many topics. Learners may also be distributed worldwide. In many cases, users may be allowed to start a course at any time. In other words, all users taking a given course might not be starting at the same time, or be in the same place. Thus, at any given time, different people around the world might be at different parts of the course.
A difficulty with discussion forums in such environments is that the discussions or questions posted at any given point in time might cover a wide range of topics from any part of the course and from any part of the geography of the world. This makes it difficult to have a coherent discussion among the people since different people might be at different places in the course at any given time. In particular, it is difficult for users that are in a given part of the course to find other users that are in the same part of the course at the same time. We call this first problem the cohort problem.
A second problem is that when the number of users gets large, answering all the questions is difficult. It would be useful to find an automatic way for users to be able to get their questions answered, particularly when users can join in the course at any given time, and when there might be no teaching assistants or teachers or advanced learners around to answer questions. We call this second question the question matching problem.
A third problem, called the approximate question matching problem, is when a user asks a question (or has a question) to find a previously asked question that is close to the user question. We can do this match using machine learning, or by giving the user a choice of approximately close questions to select from.